:root {
  --nuxtcontent-c-white: #ffffff;
  --nuxtcontent-c-white-soft: #f9f9f9;
  --nuxtcontent-c-white-mute: #f1f1f1;
  --nuxtcontent-c-black: #1a1a1a;
  --nuxtcontent-c-black-pure: #000000;
  --nuxtcontent-c-black-soft: #242424;
  --nuxtcontent-c-black-mute: #2f2f2f;
  --nuxtcontent-c-indigo: #213547;
  --nuxtcontent-c-indigo-soft: #476582;
  --nuxtcontent-c-indigo-light: #aac8e4;
  --nuxtcontent-c-gray: #8e8e8e;
  --nuxtcontent-c-gray-light-1: #aeaeae;
  --nuxtcontent-c-gray-light-2: #c7c7c7;
  --nuxtcontent-c-gray-light-3: #d1d1d1;
  --nuxtcontent-c-gray-light-4: #e5e5e5;
  --nuxtcontent-c-gray-light-5: #f2f2f2;
  --nuxtcontent-c-gray-dark-1: #636363;
  --nuxtcontent-c-gray-dark-2: #484848;
  --nuxtcontent-c-gray-dark-3: #3a3a3a;
  --nuxtcontent-c-gray-dark-4: #282828;
  --nuxtcontent-c-gray-dark-5: #202020;
  --nuxtcontent-c-divider: rgba(60, 60, 60, 0.29);
  --nuxtcontent-c-divider-light-1: rgba(60, 60, 60, 0.29);
  --nuxtcontent-c-divider-light-2: rgba(60, 60, 60, 0.12);
  --nuxtcontent-c-divider-dark-1: rgba(84, 84, 84, 0.65);
  --nuxtcontent-c-divider-dark-2: rgba(84, 84, 84, 0.48);
  --nuxtcontent-c-text-light-1: var(--nuxtcontent-c-indigo);
  --nuxtcontent-c-text-light-2: rgba(60, 60, 60, 0.7);
  --nuxtcontent-c-text-light-3: rgba(60, 60, 60, 0.33);
  --nuxtcontent-c-text-light-4: rgba(60, 60, 60, 0.18);
  --nuxtcontent-c-text-light-code: var(--nuxtcontent-c-indigo-soft);
  --nuxtcontent-c-text-dark-1: rgba(255, 255, 255, 0.87);
  --nuxtcontent-c-text-dark-2: rgba(235, 235, 235, 0.6);
  --nuxtcontent-c-text-dark-3: rgba(235, 235, 235, 0.38);
  --nuxtcontent-c-text-dark-4: rgba(235, 235, 235, 0.18);
  --nuxtcontent-c-text-dark-code: var(--nuxtcontent-c-indigo-light);
  --nuxtcontent-c-green: #42b883;
  --nuxtcontent-c-green-light: #42d392;
  --nuxtcontent-c-green-lighter: #35eb9a;
  --nuxtcontent-c-green-dark: #33a06f;
  --nuxtcontent-c-green-darker: #155f3e;
  --nuxtcontent-c-blue: #3b8eed;
  --nuxtcontent-c-blue-light: #549ced;
  --nuxtcontent-c-blue-lighter: #50a2ff;
  --nuxtcontent-c-blue-dark: #3468a3;
  --nuxtcontent-c-blue-darker: #255489;
  --nuxtcontent-c-yellow: #ffc517;
  --nuxtcontent-c-yellow-light: #ffe417;
  --nuxtcontent-c-yellow-lighter: #ffff17;
  --nuxtcontent-c-yellow-dark: #e0ad15;
  --nuxtcontent-c-yellow-darker: #bc9112;
  --nuxtcontent-c-red: #ed3c50;
  --nuxtcontent-c-red-light: #f43771;
  --nuxtcontent-c-red-lighter: #fd1d7c;
  --nuxtcontent-c-red-dark: #cd2d3f;
  --nuxtcontent-c-red-darker: #ab2131;
  --nuxtcontent-c-purple: #de41e0;
  --nuxtcontent-c-purple-light: #e936eb;
  --nuxtcontent-c-purple-lighter: #f616f8;
  --nuxtcontent-c-purple-dark: #823c83;
  --nuxtcontent-c-purple-darker: #602960;

  --nuxtcontent-c-bg: var(--nuxtcontent-c-white);
  --nuxtcontent-c-bg-soft: var(--nuxtcontent-c-white-soft);
  --nuxtcontent-c-bg-mute: var(--nuxtcontent-c-white-mute);
  --nuxtcontent-c-divider: var(--nuxtcontent-c-divider-light-1);
  --nuxtcontent-c-divider-light: var(--nuxtcontent-c-divider-light-2);
  --nuxtcontent-c-divider-inverse: var(--nuxtcontent-c-divider-dark-1);
  --nuxtcontent-c-divider-inverse-light: var(--nuxtcontent-c-divider-dark-2);
  --nuxtcontent-c-text-1: var(--nuxtcontent-c-text-light-1);
  --nuxtcontent-c-text-2: var(--nuxtcontent-c-text-light-2);
  --nuxtcontent-c-text-3: var(--nuxtcontent-c-text-light-3);
  --nuxtcontent-c-text-4: var(--nuxtcontent-c-text-light-4);
  --nuxtcontent-c-text-code: var(--nuxtcontent-c-text-light-code);
  --nuxtcontent-c-text-inverse-1: var(--nuxtcontent-c-text-dark-1);
  --nuxtcontent-c-text-inverse-2: var(--nuxtcontent-c-text-dark-2);
  --nuxtcontent-c-text-inverse-3: var(--nuxtcontent-c-text-dark-3);
  --nuxtcontent-c-text-inverse-4: var(--nuxtcontent-c-text-dark-4);
  --nuxtcontent-c-brand: var(--nuxtcontent-c-green);
  --nuxtcontent-c-brand-light: var(--nuxtcontent-c-green-light);
  --nuxtcontent-c-brand-dark: var(--nuxtcontent-c-green-dark);
  --nuxtcontent-c-brand-highlight: var(--nuxtcontent-c-brand-dark);

  --nuxtcontent-font-family-base: Quotes, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
    Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;

  --nuxtcontent-sidebar-width-mobile: 320px;
  --nuxtcontent-sidebar-width-small: 272px;

  --shiki-default: var(--nuxtcontent-c-text-dark-1);
  --shiki-default-bg: none;
  --shiki-default-font-style: var(--nuxtcontent-font-family-base);
  --shiki-default-font-weight: normal;
  --shiki-default-text-decoration: none;

  .doc-search {
    --docsearch-primary-color: var(--nuxtcontent-c-brand);
    --docsearch-highlight-color: var(--docsearch-primary-color);
    --docsearch-text-color: var(--nuxtcontent-c-text-1);
    --docsearch-muted-color: var(--nuxtcontent-c-text-2);
    --docsearch-searchbox-shadow: none;
    --docsearch-searchbox-focus-background: transparent;
    --docsearch-key-gradient: transparent;
    --docsearch-key-shadow: none;
    --docsearch-modal-background: var(--nuxtcontent-c-bg-soft);
    --docsearch-footer-background: var(--nuxtcontent-c-bg);
    --docsearch-hit-height: 56px;
    --docsearch-hit-color: rgba(60, 60, 60, 0.7);
  }
}

.dark-mode {
  --nuxtcontent-c-bg: var(--nuxtcontent-c-black);
  --nuxtcontent-c-bg-soft: var(--nuxtcontent-c-black-soft);
  --nuxtcontent-c-bg-mute: var(--nuxtcontent-c-black-mute);
  --nuxtcontent-c-divider: var(--nuxtcontent-c-divider-dark-1);
  --nuxtcontent-c-divider-light: var(--nuxtcontent-c-divider-dark-2);
  --nuxtcontent-c-divider-inverse: var(--nuxtcontent-c-divider-light-1);
  --nuxtcontent-c-divider-inverse-light: var(--nuxtcontent-c-divider-light-2);
  --nuxtcontent-c-text-1: var(--nuxtcontent-c-text-dark-1);
  --nuxtcontent-c-text-2: var(--nuxtcontent-c-text-dark-2);
  --nuxtcontent-c-text-3: var(--nuxtcontent-c-text-dark-3);
  --nuxtcontent-c-text-4: var(--nuxtcontent-c-text-dark-4);
  --nuxtcontent-c-text-code: var(--nuxtcontent-c-text-dark-code);
  --nuxtcontent-c-text-inverse-1: var(--nuxtcontent-c-text-light-1);
  --nuxtcontent-c-text-inverse-2: var(--nuxtcontent-c-text-light-2);
  --nuxtcontent-c-text-inverse-3: var(--nuxtcontent-c-text-light-3);
  --nuxtcontent-c-text-inverse-4: var(--nuxtcontent-c-text-light-4);
  --nuxtcontent-c-brand-highlight: var(--nuxtcontent-c-brand-light);

  .doc-search {
    --docsearch-modal-shadow: none;
    --docsearch-footer-shadow: none;
    --docsearch-logo-color: var(--nuxtcontent-c-text-2);
    --docsearch-hit-background: var(--nuxtcontent-c-bg-mute);
    --docsearch-hit-color: var(--nuxtcontent-c-text-2);
    --docsearch-hit-shadow: none;
    --docsearch-hit-color: rgba(235, 235, 235, 0.6);
  }
}
*,
:before,
:after {
  box-sizing: border-box;
}
html,
body {
  font-family: var(--nuxtcontent-font-family-base);
  letter-spacing: 0.2px;
  line-height: 24px;
  font-size: 16px;
  font-weight: 400;
  color: var(--nuxtcontent-c-text-1);
  background-color: var(--nuxtcontent-c-bg);
  direction: ltr;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 16px;
  scroll-behavior: smooth;
}
aside {
  display: block;
  unicode-bidi: isolate;
}
table {
  display: table;
  border-collapse: separate;
  box-sizing: border-box;
  text-indent: initial;
  unicode-bidi: isolate;
  border-spacing: 2px;
  border-color: gray;
}
thead {
  display: table-header-group;
  vertical-align: middle;
  unicode-bidi: isolate;
  border-color: inherit;
}
th {
  display: table-cell;
  vertical-align: inherit;
  font-weight: bold;
  text-align: -internal-center;
  unicode-bidi: isolate;
}
tbody {
  display: table-row-group;
  vertical-align: middle;
  unicode-bidi: isolate;
  border-color: inherit;
}
tr {
  display: table-row;
  vertical-align: inherit;
  unicode-bidi: isolate;
  border-color: inherit;
}
td {
  display: table-cell;
  vertical-align: inherit;
  unicode-bidi: isolate;
}
code {
  font-size: 1rem;
  font-family: consolas;
}

aside.sider {
  li a {
    line-height: 20px;
    font-size: 13px;
    color: var(--nuxtcontent-c-text-2);
    transition: color 0.25s;
    text-decoration: none;
  }
  li a.router-link-active {
    color: var(--nuxtcontent-c-brand);
    font-weight: 600;
    transition: color 0.25s;
  }
  ul {
    font-weight: bold;
    padding-left: 1rem;
    list-style-type: none;
  }
  ul[data-level] {
    font-weight: normal;
    padding-left: 2rem;
    list-style-type: decimal;
  }
  ul[data-level] :hover {
    color: var(--nuxtcontent-c-text-1);
  }
  li {
    padding: 4px 0;
  }
}

.ddd-doc {
  --nuxtcontent-doc-code-font-size: 14px;
  --nuxtcontent-doc-code-line-height: 1.5;

  table {
    display: block;
    border-collapse: collapse;
    margin: 1rem 0;
    overflow-x: auto;
  }
  th,
  td {
    border: 1px solid var(--nuxtcontent-c-divider);
    padding: 0.6em 1em;
  }
  tr {
    border-top: 1px solid var(--nuxtcontent-c-divider);
    transition: background-color 0.5s;
  }
  ul {
    padding-left: 1.25rem;
  }
  ul,
  li {
    margin-bottom: 1rem;
    list-style: disc;
  }
  ul::marker,
  li::marker {
    color: var(--nuxtcontent-c-text-3);
  }
  li > ul {
    margin-top: 1rem;
  }

  img {
    max-width: 100%;
  }
  a {
    color: inherit;
    text-decoration: none;
  }
  :not(h1, h2, h3, h4, h5, h6) > a {
    font-weight: 500;
    color: var(--nuxtcontent-c-brand);
    transition: color 0.25s;
    text-decoration-style: dotted;
  }

  :not(pre) > code {
    background-color: var(--nuxtcontent-c-bg-mute);
    padding: 0.15em 0.5em;
    border-radius: 4px;
    color: var(--nuxtcontent-c-text-code);
    transition:
      color 0.5s,
      background-color 0.5s;
    white-space: nowrap;
  }
  .vt-doc :not(pre, h1, h2, h3, h4, h5, h6) > code {
    font-size: var(--nuxtcontent-doc-code-font-size);
  }
  a > code {
    color: var(--nuxtcontent-c-brand-dark);
  }
  pre.shiki {
    background-color: #292d3e;
    border-radius: 0.5rem;
    padding: 1rem;
    overflow-x: auto;
    @media (max-width: 1024px) {
      margin: 14px -24px;
      border-radius: unset;
    }
  }

  blockquote {
    color: var(--nuxtcontent-c-text-2);
    margin: 1rem 0;
    border-left: 0.2rem solid var(--nuxtcontent-c-divider);
    padding-left: 1rem;
    transition: border-color 0.5s;
  }

  h1 {
    margin: 0 0 3rem;
    font-size: 38px;
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
  h2 {
    margin: 4rem 0 1.8rem;
    border-top: 1px solid var(--nuxtcontent-c-divider);
    padding-top: 1.8rem;
    font-size: 24px;
    letter-spacing: -0.02em;
  }

  .vt-doc h2 + h3 {
    margin-top: 0;
  }

  h3 {
    font-size: 19px;
    letter-spacing: -0.01em;
    margin: 3rem 0 1.25rem;
  }
}
